BlockingAutomaton
class BlockingAutomaton<State, Transition, NoNextStateReason>(initialState: State, checkTransition: BlockingAutomaton<State, Transition, NoNextStateReason>.(previousState: State, transition: Transition) -> CheckResult<State, NoNextStateReason>, onTransition: BlockingAutomaton<State, Transition, NoNextStateReason>.(previousState: State, transition: Transition, nextState: State) -> Unit = { _, _, _ -> }) : SynchronizedObject(source)
Constructors
Link copied to clipboard
constructor(initialState: State, checkTransition: BlockingAutomaton<State, Transition, NoNextStateReason>.(previousState: State, transition: Transition) -> CheckResult<State, NoNextStateReason>, onTransition: BlockingAutomaton<State, Transition, NoNextStateReason>.(previousState: State, transition: Transition, nextState: State) -> Unit = { _, _, _ -> })
Functions
Link copied to clipboard
fun <State, Transition, NoNextStateReason> BlockingAutomaton<State, Transition, NoNextStateReason>.move(transition: Transition): MovementResult<State, Transition, NoNextStateReason>
inline fun <State, Transition, NoNextStateReason> BlockingAutomaton<State, Transition, NoNextStateReason>.move(transition: (State) -> Transition): MovementResult<State, Transition, NoNextStateReason>
Link copied to clipboard
fun <State, Transition, NoTransitionReason, NoNextStateReason> BlockingAutomaton<State, Transition, NoNextStateReason>.moveMaybe(transition: TransitionOrReason<Transition, NoTransitionReason>): MovementMaybeResult<State, Transition, NoTransitionReason, NoNextStateReason>
inline fun <State, Transition, NoTransitionReason, NoNextStateReason> BlockingAutomaton<State, Transition, NoNextStateReason>.moveMaybe(transition: (State) -> TransitionOrReason<Transition, NoTransitionReason>): MovementMaybeResult<State, Transition, NoTransitionReason, NoNextStateReason>